home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-05
/
lstn1-5.zip
/
LS-5.TXT
< prev
Wrap
Text File
|
1991-10-03
|
12KB
|
395 lines
Hayes(r) Microcomputer Products, Inc. LANstep(r) Technical Note
"Memory Management on a DOS
Workstation Using MS-DOS 5.0"
Number LS-5 September 1991
Summary:
This Technical Note outlines different ways of getting the best use
out of memory on a LANstep DOS Workstation that is using MS-DOS 5.0.
MS-DOS 5.0 offers a number of methods of using extended, high and
upper memory that can all result in larger amounts of conventional
memory being made available for larger applications.
While exact amounts vary with the hardware available and methods
used, you'll learn how to maximize the amount of conventional memory
available on even the most basic configurations.
What This Note is About
If you've upgraded a 80286, 80386 or 80486 based DOS Workstation
with DOS 5.0, you can take advantage of some DOS 5.0-only techniques
and software to make more conventional memory available for
application usage.
It's important to keep in mind that not all memory management
options described in this document will necessarily work with all
PCs. However, a large number of PCs can use these methods to obtain
more usable memory.
About Memory
It's rumored that only a select few people in the world know the
formula for Coca-Cola and even fewer still understand the different
types of memory used in a modern PC. Read this section and you'll
learn too.
Conventional DOS (Application) Memory
Conventional memory is the first 640K of memory found in a PC. This
is the memory used by nearly all applications (word processors,
spreadsheets, etc.) programs, including DOS, TSR's, device drivers,
etc.
Upper Memory Area
The Upper memory area is the 384K found between 640K and 1MB. This
memory is normally reserved for system use, such as video cards and
other hardware, but it is possible to use some upper memory blocks of
the upper memory area when you have an 80386 or 80486 based PC with
extended memory.
Upper Memory Blocks
These are parts of the upper memory area that aren't used by the
system. You can typically use some of this memory if you have an
80386 or 80486 with extended memory.
Extended Memory
This type of memory is only available on 80286, 80386 or 80486 based
PCs. Extended memory begins at the 1MB address.
High Memory Area (HMA)
The first 64K of extended memory is called the high memory area and
is where DOS 5.0 may be loaded, if the CONFIG.SYS file includes these
two lines:
DEVICE=HIMEM.SYS
DOS=HIGH
HIMEM.SYS is a device driver provided with DOS 5.0 that may be put
anywhere on the disk, provided the DEVICE statement properly points
to that location.
About Memory Managers
Memory managers refer to software that can utilize areas of memory
not normally available for application programs. DOS 5.0 provides two
different types of memory managers: HIMEM.SYS and EMM386.EXE.
HIMEM.SYS
This device driver file insures no two programs use the same areas
of extended memory. Like other device drivers, HIMEM.SYS is loaded
via the CONFIG.SYS file.
EMM386.EXE
EMM386.EXE can be used as an upper memory area manager, thus making
more memory available for application programs. As the name implies,
EMM386.EXE can only be used with 80386 / 80486 based PCs, and such
systems must be using DOS 5.0.
Some Sample Configurations
The remainder of this note outlines some possible configurations for
different types of PCs and how the memory manager software provided
with DOS 5.0 can make more memory available for use by application
programs. Each of these examples shows:
* A sample CONFIG.SYS
* A sample AUTOEXEC.BAT
* Memory usage listing
80286 With No Extended Memory
On 80286 PCs with no extended memory, the default DOS Workstation
memory configuration is shown here. Notice the CONFIG.SYS and
AUTOEXEC.BAT are loading all necessary commands and drivers for DOS
and LANstep, while the NETROOM batch file loads Office, Mail, and All
Points Bulletins.
Sample CONFIG.SYS:
FILES=25
BUFFERS=3
LASTDRIVE=J
DEVICE=PROTMAN.SYS
DEVICE=NDISDRVR.SYS
Sample AUTOEXEC.BAT:
ECHO OFF
NETRDR
SET WMCMDS=E:
SET PATH=%WMCMDS%\;%PATH%;A:\;
SET TMP=%WMCMDS%\TMP\NW000
NETROOM
Conventional Memory Usage:
Name Size (decimal) Size (hex)
MSDOS 52240 (51.0K) CC10
PROTMAN 2176 (2.1K) 880
NDISDRVR 14192 (13.9K) 3770
COMMAND 4768 (4.7K) 12A0
NETRDR 94224 (92.0K) 17010
OFFICE 2544 (2.5K) 9F0
MAILNOTF 2720 (2.7K) AA0
APB_TSR 9488 (9.3K) 2510
COMMAND 2800 (2.7K) AF0
Free Memory Sizes:
Total FREE: 469808 (458.8K)
Total bytes available to programs: 469808 (458.8K)
Largest executable program size: 469808 (458.6K)
80286 With Extended Memory
80286 PCs with extended memory used as a DOS Workstation benefit
from extended memory when configured as shown here. Notice the
CONFIG.SYS file has been modified to load HIMEM.SYS and set DOS=HIGH,
which puts DOS in the High Memory Area. The AUTOEXEC.BAT and
CONFIG.SYS are still loading all necessary commands and drivers for
DOS and LANstep, while Office, Mail, and All Points Bulletin's are
loaded by NETROOM. Best of all, the amount of available conventional
memory has increased.
Sample CONFIG.SYS:
DEVICE=HIMEM.SYS
BUFFERS=3
LASTDRIVE=J
DEVICE=PROTMAN.SYS
DEVICE=NDISDRVR.SYS
DOS=HIGH
Sample AUTOEXEC.BAT:
ECHO OFF
NETRDR
SET WMCMDS=E:
SET PATH=%WMCMDS%\;%PATH%;A:\;
SET TMP=%WMCMDS%\TMP\NW000
NETROOM
Conventional Memory Usage:
Name Size (decimal) Size (hex)
MSDOS 11728 (11.5K) 2DD0
HIMEM 1184 (1.2K) 4A0
PROTMAN 2144 (2.1K) 860
NDISDRVR 14192 (13.9K) 3770
COMMAND 2688 (2.6K) A80
NETRDR 94224 (92.0K) 17010
OFFICE 2544 (2.5K) 9F0
MAILNOTF 2720 (2.7K) AA0
APB_TSR 9488 (9.3K) 2510
COMMAND 2800 (2.7K) AF0
Free Memory Sizes:
Total FREE: 509392 (497.5K)
Total bytes available to programs: 509392 (499.5K)
Largest executable program size: 509392 (499.2K)
80386 With No Extended Memory
On 80386 based PCs without extended memory, the default DOS
Workstation memory configuration doesn't do quite as well as a 80286
based machine with extended memory. Note that CONFIG.SYS and
AUTOEXEC.BAT are loading all necessary commands and drivers for DOS
and LANstep, while NETROOM is loading Office, Mail, and All Points
Bulletin's.
Sample CONFIG.SYS:
FILES=25
BUFFERS=3
LASTDRIVE=J
DEVICE=PROTMAN.SYS
DEVICE=NDISDRVR.SYS
Sample AUTOEXEC.BAT:
ECHO OFF
NETRDR
SET WMCMDS=E:
SET PATH=%WMCMDS%\;%PATH%;A:\;
SET TMP=%WMCMDS%\TMP\NW000
NETROOM
Name Size (decimal) Size (hex)
MSDOS 52112 (50.9K) CB90
PROTMAN 2176 (2.1K) 880
NDISDRVR 14192 (13.9K) 3770
COMMAND 4768 (4.7K) 12A0
NETRDR 94224 (92.0K) 17010
OFFICE 2544 (2.5K) 9F0
MAILNOTF 2729 (2.7K) AA0
APB_TSR 9488 (9.3K) 2510
COMMAND 2800 (2.7K) AF0
Free Memory Sizes:
Total FREE: 468944 (458.0K)
Total bytes available to programs: 468944 (458.0K)
Largest executable program size: 468720 (457.7K)
4456448 bytes total contiguous extended memory
4456448 bytes available contiguous extended memory
80386 With Extended Memory and Using HIMEM.SYS
Here's an example of an 80386 PC with extended memory that uses
HIMEM.SYS. Notice the CONFIG.SYS has been modified to load HIMEM.SYS
and set DOS=HIGH which will put DOS in the High Memory Area. The
AUTOEXEC.BAT and CONFIG.SYS are still loading all necessary commands
and drivers for DOS and LANstep and NETROOM loads Office, Mail, and
All Points Bulletin's. As you might expect, the available
conventional memory has increased.
Sample CONFIG.SYS:
DEVICE=HIMEM.SYS
FILES=25
BUFFERS=3
LASTDRIVE=J
DEVICE=PROTMAN.SYS
DEVICE=NDISDRVR.SYS
DOS=HIGH
Sample AUTOEXEC.BAT:
AUTOEXEC.BAT
ECHO OFF
NETRDR
SET WMCMDS=E:
SET PATH=%WMCMDS%\;%PATH%;A:\;
SET TMP=%WMCMDS%\TMP\NW000
NETROOM
Name Size (decimal) Size (hex)
MSDOS 14160 (13.8K) 3750
HIMEM 1136 (1.1K) 470
PROTMAN 2176 (2.1K) 880
NDISDRVR 14192 (13.9K) 3770
COMMAND 2688 (2.6K) A80
NETRDR 94224 (92.0K) 17010
OFFICE 2544 (2.5K) 9F0
MAILNOTF 2720 (2.7K) AA0
APB_TSR 9488 (9.3K) 2510
COMMAND 2800 (2.7K) AF0
Free Memory Sizes:
Total FREE: 507696 (495.9K)
Total bytes available to programs: 507808 (495.9K)
Largest executable program size: 507584 (495.7K))
4456448 bytes total contiguous extended memory
0 bytes available contiguous extended memory
4390912 bytes available XMS memory
MS-DOS resident in High Memory Area
80386 With Extended Memory and Using EMM386.EXE
Finally, here's an example of what is possible when loading
EMM386.EXE. Starting EMM386 as shown provides UMB support which
allows NETRDR to automatically go into UMBs. In this case, we're
excluding the memory area where the network interface card resides,
to avoid memory conflicts. Notice the changes to the CONFIG.SYS file
and the fact that all but 0.3K of the NETRDR goes into extended
memory.
Sample CONFIG.SYS:
DEVICE=HIMEM.SYS
DEVICE=EMM386.EXE noems x=CC00-CF00
FILES=25
BUFFERS=3
LASTDRIVE=J
DEVICE=PROTMAN.SYS
DEVICE=NDISDRVR.SYS
DOS=HIGH
Sample AUTOEXEC.BAT:
ECHO OFF
NETRDR
SET WMCMDS=E:
SET PATH=%WMCMDS%\;%PATH%;A:\;
SET TMP=%WMCMDS%\TMP\NW000
NETROOM
Name Size (decimal) Size (hex)
MSDOS 14160 (13.8K) 3750
HIMEM 1136 (1.1K) 470
PROTMAN 2176 (2.1K) 990
NDISDRVR 14192 (13.9K) 3770
COMMAND 2688 (2.6K) A80
NETRDR 256 (0.3K) 100
OFFICE 2544 (2.5K) AA0
MAILNOTF 2720 (2.7K) AA0
APB_TSR 9488 (9.3K) 2510
COMMAND 2800 (2.7K) AF0
Free Memory Sizes:
Total FREE: 593360 (579.3K)
Total bytes available to programs: 593360 (579.5K)
Largest executable program size: 593136 (579.2K)
4456448 bytes total contiguous extended memory
0 bytes available contiguous extended memory
4189184 bytes available XMS memory
MS-DOS resident in High Memory Area
Conclusion
While there are many different ways of manipulating the various
segments of memory, you'll need to make your own decisions on which
is best for you. Even if your DOS Workstation is a 80286-based PC
with no extended memory, DOS 5.0 can help somewhat, since it uses
less memory than some previous versions. However, as illustrated in
the previous examples, a 80386 PC with extended memory and the
EMM386.EXE driver can offer the most.
Hayes is a registered trademark and LANstep is a trademark of Hayes
Micrcomputer Products, Inc.
Other trademarks appearing in this document are trademarks of the
respective companies
(C) 1991 Hayes Microcomputer Products, Inc.